package net.sh.dpinfrastructure.util;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;

/**
 * date工具类
 * @author Lancer
 * @date 2015年8月23日下午4:35:48
 *
 */
public final class DPDateUtils {
    
    private DPDateUtils() {}

    /**
     * 
     * 字符串解析成date
     * Lancer
     * 2015年8月23日下午4:37:05
     * @param date
     * @param pattern
     * @return
     *
     */
    public static Date parseToDate(String date, String pattern) {
        if (StringUtils.isEmpty(date)) {
            return null;
        }
        if (StringUtils.isEmpty(pattern)) {
            pattern = "yyyy-MM-dd HH:mm:ss";
        }
        Date targetDate = null;
        try {
            targetDate = DateTimeFormat.forPattern(pattern).parseDateTime(date).toDate();
        } catch (Exception e) {}
        return targetDate;
    }
    
    /**
     * 
     * 默认解析
     * Lancer
     * 2015年8月23日下午4:47:21
     * @param date
     * @return
     *
     */
    public static Date parseToDate(String date) {
        return parseToDate(date, null);
    }
    
    /**
     * 
     * 格式化输出
     * Lancer
     * 2015年8月23日下午4:46:53
     * @param date
     * @param pattern
     * @return
     *
     */
    public static String toDate(Date date, String pattern) {
        if (StringUtils.isBlank(pattern)) {
            pattern = "yyyy-MM-dd HH:mm:ss";
        }
        return new DateTime(date.getTime()).toString(pattern);
    }
    
    /**
     * 
     * 默认格式化输出
     * Lancer
     * 2015年8月23日下午4:51:46
     * @param date
     * @return
     *
     */
    public static String toDate(Date date) {
        return toDate(date, null);
    }
    
}
